//
//  AbilityChanged.h
//  This file is part of D&D Manager
//
//  Created by Matthew Hutton on 25/02/2007.
//
//
//D&D Manager, a D&D Character and battle management program.
//Copyright (C) 2007, Matthew Hutton
//
//This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
//
//This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License along with this program; if not, write to:
//The Free Software Foundation, Inc.,
//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

#import <Cocoa/Cocoa.h>


@interface AbilityChanged : NSObject {

}
+(void)strengthChangedForChar:(NSManagedObject *)obj;
+(void)dexterityChangedForChar:(NSManagedObject *)obj;
+(void)constitutionChangedForChar:(NSManagedObject *)obj;
+(void)intelligenceChangedForChar:(NSManagedObject *)obj;
+(void)wisdomChangedForChar:(NSManagedObject *)obj;
+(void)charismaChangedForChar:(NSManagedObject *)obj;
+(void)updateTurnUndeadForChar:(NSManagedObject *)obj;
//value transformers.
+(int)scoreToBonus:(NSNumber *)score;
+(int)conHPBonus:(NSManagedObject *)value;
+(int)turnUndeadCL:(NSManagedObject *)value;
+(int)dexACBonus:(NSManagedObject*)value;
+(int)abilityAttackBonus:(id)value;
+(int)strengthWeaponBonus:(id)value;
//alignment checkers.
+(BOOL)isGood:(NSManagedObject *)obj;
+(BOOL)isEvil:(NSManagedObject *)obj;
+(BOOL)isLawful:(NSManagedObject *)obj;
+(BOOL)isChaotic:(NSManagedObject *)obj;
+(NSString *)runTestSkill:(NSManagedObject *)skill
					forDC:(int)dc;
+(NSString *)runTestWithBonus:(int)bonus
						forDC:(int)dc;
//gender
+(NSString *)getGenderOfCharacter:(NSManagedObject *)obj;
+(NSString *)getTPSGenderOfCharacter:(NSManagedObject *)obj;
+(NSString *)getAdjGenderOfCharacter:(NSManagedObject *)obj;
//default weapons.
+(NSString *)updateDefaultWeaponForChar:(NSManagedObject *)obj;
+(void)updateShieldBonusForChar:(NSManagedObject *)obj
					  forWeapon:(NSManagedObject *)weap;
+(void)setDefaultWeaponForChar:(NSManagedObject *)obj
					withWeapon:(NSManagedObject *)newWeap;
+(void)setOffHandWeaponForChar:(NSManagedObject *)obj
					withWeapon:(NSManagedObject *)newWeap;
+(void)cancelOffHandWeaponForChar:(NSManagedObject *)obj;
//level or XP stuff.
+(void)setLevelOrXPForChar:(NSManagedObject *)obj;
//character searching.
+(NSManagedObject *)findTheCharacterWithMostHPLostInTheArray:(NSArray *)arrayOfChars;
@end
